linux之磁盘配额(quota) |
您所在的位置:网站首页 › quota limit reached 奇它云 › linux之磁盘配额(quota) |
1.什么是quota 简单的说就是限制用户对磁盘空间的使用量。 因为Linux是多用户多任务的操作系统,许多人共用磁盘空间,为了合理的分配磁盘空间,于是就有了quota的出现。 2.quota的用途 显示磁盘使用情况和配额 3.quota的一般作用对象 (1)针对WWW server (2)针对mail server (3)针对file server4.quota的限制 (1)仅能针对整个文件系统 (2)需要kernel的支持 (3)只对一般用户有效 5.quota的使用 测试环境 RHEL6.6(默认kernel已经支持quota功能) /dev/sdb1 供测试的文件系统 用户组 myquota 用户 quota1,quota2
具体操作如下 (1)重新挂/dev/sdb1文件系统,并添加usrquota,grpquota参数 [root@localhost ~]# mount -o remount,usrquota,grpquota /dev/sdb1 重新挂载后,/dev/sdb1这个分区就支持quota功能了 [root@localhost ~]# mount | grep /dev/sdb1 /dev/sdb1 on /mnt/test type ext4 (rw,usrquota,grpquota) (2)添加用户组和用户 [root@localhost ~]# groupadd myquota [root@localhost ~]# useradd -g myquota quota1 [root@localhost ~]# useradd -g myquota quota2 (3)生成quota配置文件 [root@localhost ~]# cd /mnt/test/ [root@localhost test]# quotacheck -ug . [root@localhost test]# ls aquota.group aquota.user lost+found 生成quota配置文件 (4)启动quota功能 [root@localhost test]# quotaon /dev/sdb1 若要关闭 使用quotaoff命令 (5)修改quota配置文件 配置文件内容如下 Filesystem blocks soft hard inodes soft hard /dev/sdb1 0 0 0 0 0 0 需要修改的是soft/hard的值,单位是KB,soft为警告值,hard为最大值,当磁盘使用量在soft-hard之间,就会发出警告(默认倒计时7天),若超过警告时间,磁盘使用量依然在soft-hard 之间,则会禁止使用磁盘空间。 若修改blocks的soft/hard表示规定用户可以使用的磁盘空间大小(一般都是规定磁盘使用量) 若修改的是inodes的 soft/hard值,表示规定用户可以创建的文件个数.
[root@localhost test]# edquota -u quota1 -->修改针对quota1用户的配置 Disk quotas for user quota1 (uid 500): Filesystem blocks soft hard inodes soft hard /dev/sdb1 0 100000 200000 0 0 0 [root@localhost test]# edquota -u quota2 -->修改针对quota2用户的配置 Disk quotas for user quota2 (uid 501): Filesystem blocks soft hard inodes soft hard /dev/sdb1 0 100000 200000 0 0 0 [root@localhost test]# edquota -g myquota -->修改针对myquota组的配置 Disk quotas for group myquota (gid 500): Filesystem blocks soft hard inodes soft hard /dev/sdb1 251200 100000 300000 3 0 0 这样配置表示quota1,quota2用户最多使用200M的磁盘空间,超过100M就发出警告并进入倒计时,而myquota组最多使用300M的磁盘空间。 也就是说,虽然quota1,quota2都有200M的最大磁盘空间能使用权限,但他们都属于myquota组,他们的总量不得超过300M
修改权限 [root@localhost test]# chmod 777 . [root@localhost test]# ll -d drwxrwxrwx. 3 root root 4096 8月 23 09:36 . 切换quota1用户,进行测试 [root@localhost test]# su quota1 [quota1@localhost test]$ dd if=/dev/zero of=bigfile1 bs=1M count=150 sdb1: warning, user block quota exceeded. -->警告 记录了150+0 的读入 记录了150+0 的写出 157286400字节(157 MB)已复制,1.02545 秒,153 MB/秒 再写入一个大文件 [quota1@localhost test]$ dd if=/dev/zero of=bigfile2 bs=1M count=150 sdb1: write failed, user block limit reached. dd: 正在写入"bigfile2": 超出磁盘限额 -->超过200M的部分就无法写入了 记录了46+0 的读入 记录了45+0 的写出 47513600字节(48 MB)已复制,0.381467 秒,125 MB/秒 切换quota2用户 [root@localhost test]# su quota2 [quota2@localhost test]$ ls aquota.group aquota.user bigfile1 bigfile2 lost+found [quota2@localhost test]$ dd if=/dev/zero of=bigfile3 bs=1M count 50 记录了50+0 的读入 记录了50+0 的写出 52428800字节(52 MB)已复制,0.410838 秒,128 MB/秒 修改警告时间 [root@localhost test]$ edquota -t Grace period before enforcing soft limits for users: Time units may be: days, hours, minutes, or seconds Filesystem Block grace period Inode grace period /dev/sdb1 7days 7days
查看quota1的quota信息 [quota1@localhost test]$ quota -u quota1 Disk quotas for user quota1 (uid 500): Filesystem blocks quota limit grace files quota limit grace /dev/sdb1 200000* 100000 200000 6days 2 0 0 -->已经进入警告的倒计时了 查询quota2的quota信息 [root@localhost test]# quota -u quota2 Disk quotas for user quota2 (uid 501): Filesystem blocks quota limit grace files quota limit grace /dev/sdb1 51200 100000 200000 1 0 0 查询myquota组的quota信息 [root@localhost test]# quota -g myquota Disk quotas for group myquota (gid 500): Filesystem blocks quota limit grace files quota limit grace /dev/sdb1 251200* 100000 300000 6days 3 0 0
总结: quotacheck [ -gubcfinvdMmR ] [ -F quota-format ] -a | filesystem -a 检查所有/etc/mtab中挂在的文件系统 -u 只检查用户的quota -g 只检查用户组的quota quota 不使用任何参数,查询当前用户的quota信息 -u username 查询某用户的quota信息 -g groupname 查询某用户组的quota信息 edquota -u username 编辑某用户的quota配置 -g groupname 编辑某用户组的quota配置 -t 编辑警告时间的配置
还有一个综合查询命令是 repquota -a 报告所有支持quota的文件系统 -u 报告针对user的quota信息 -g 包裹针对group的quota信息 一般三个参数一起使用 [root@localhost test]# repquota -aug *** Report for user quotas on device /dev/sdb1 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 20 0 0 2 0 0 quota1 +- 200000 100000 200000 6days 2 0 0 quota2 -- 51200 0 0 1 0 0 *** Report for group quotas on device /dev/sdb1 Block grace time: 7days; Inode grace time: 7days Block limits File limits Group used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 20 0 0 2 0 0 myquota +- 251200 100000 300000 7days 3 0 0
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |